﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Mysoft.QuickCode.Office.Excel.Data
{
    /// <summary>
    /// 导出excel的全局配置信息
    /// </summary>
    public class ExportExcelSetting
    {
        /// <summary>
        /// 表头占的行数。默认为1
        /// </summary>
        public int HeaderRowCount = 1;

        /// <summary>
        /// 冻结表头。默认为true
        /// </summary>
        public bool FrozenHeader = true;

        /// <summary>
        /// 是否导出为高级Excel。支持公式，单元格保护等。默认为否
        /// </summary>
        public bool ECellable = false;

        /// <summary>
        /// 表格保护功能，主要起到锁定表格作用，当 ECellable=true 时，此字段设置才生效。
        /// </summary>
        public bool ProtectSheet = true;

        /// <summary>
        /// 指定创建表格的的索引位置，默认自动往后追加
        /// </summary>
        public int SheetIndex = -1;

        /// <summary>
        /// 页签是否隐藏，为1则隐藏
        /// </summary>
        public int SheetHidden = 0;

        /// <summary>
        /// 导出Excel版本
        /// </summary>
        public OfficeVersion Version;

        /// <summary>
        /// 名称管理器，生成excel会同时创建指定的名称管理器
        /// </summary>
        public Dictionary<string, string> NameManager;
    }

    /// <summary>
    /// Office版本标记
    /// </summary>
    public enum OfficeVersion
    {
        /// <summary>
        /// 默认2003(.xls)
        /// </summary>
        Default2003,
        /// <summary>
        /// 2007以上版本(.xlsx)
        /// </summary>
        Office2007Plus,
    }
}
